package com.miyuan.wm.service;

import com.miyuan.wm.request.AddCustomerRequestVo;
import com.miyuan.wm.request.QueryCustomersRequestVo;
import com.miyuan.wm.request.UpdateCustomerRequestVo;
import com.miyuan.wm.response.BaseResponse;
import com.miyuan.wm.response.PageResponse;
import com.miyuan.wm.response.QueryCustomerByIdResponseVo;
import com.miyuan.wm.response.QueryCustomersResponseVo;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @ClassName CustomerService
 * @Description 客户管理接口
 */
public interface CustomerService {

    /**
     * @Description 查询客户列表
     * @param:
     * @return:
     */
    PageResponse<List<QueryCustomersResponseVo>> listCustomers(QueryCustomersRequestVo requestVo);

    /**
     * @Description 新增客户信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> addCustomer(AddCustomerRequestVo requestVo);

    /**
     * @Description 修改客户信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> updateCustomer(UpdateCustomerRequestVo requestVo);

    /**
     * @Description 删除客户信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> deleteCustomers(@RequestBody List<Integer> ids);

    /**
     * @Description 查询客户列表，供下拉使用
     * @param:
     * @return:
     */
    BaseResponse<List<QueryCustomersResponseVo>> queryCustomerforSelect();

    /**
     * @Description 根据Id查询客户信息
     * @param:
     * @return:
     */
    BaseResponse<QueryCustomerByIdResponseVo> queryCustomerById(int id);
}
